function res = grad_val(func, point)

    vars = symvar(func);
    if size(point, 1) > length(vars),
        error('Too many input arguments (point = %s)', mat2str(point));
    elseif size(point, 1) < length(vars),
        error('Not enough input arguments (point = %s)', mat2str(point));
    end;
%     if size(point, 2) > 1,
%         point = mat2cell(point, ones(size(point, 1),1), size(point,2));
%         vars = num2cell(vars);
%         disp(vars');
%         disp(point);
%     end;
    res = subs(gradient(func), vars, point);
    
end

